Currently, general-purpose data ports on, e.g., portable devices are used not only for data communication, but also for various other purposes such as charging the portable device, audio functions, universal asynchronous receiver/transmitter (UART) functions, etc. The multiplexing of all these features on high-speed serial data lines is typically done through additional multiplexing (muxing) circuitry on the data lines, or just by tying together with proper “enable” control. However, this type of multiplexing usually results in high capacitive loads, which in turn, lead to violation of the maximum slew rate and/or the minimum rise time, and hence, violation of the eye template. Recovering the slew-rate is important while transmitting differential data which are generally have low-amplitude signal swings.
In the recovery process, the pre-emphasis is typically done on single-ended data of the differential signals (e.g. difference of two single-ended signals) by taking into consideration the actual signal level, high and low output voltage levels (VoH, VoL), current sources in the case of current mode circuits, and termination resistances. While doing pre-emphasis, it may be important to retain the other signal quality parameters such as the common mode of the differential signals. However, when VoL=0, then some pre-emphasis schemes disturb the common mode, which may increase the pre-emphasis current for adequate eye margins, and which may allow mismatches between rise and fall behaviors of single-ended signals.
There have been several approaches that attempt to solve the above problems. FIG. 1(a) shows a schematic diagram illustrating a current mode driver circuit used in an existing approach. In FIG. 1(a), each line 101a, 101b of the differential signal is coupled to a capacitive load 102a, 102b and a terminal resistor 104a, 104b at nodes D+, D− respectively. The constant current Isource, the effective terminal resistance Rterm, and the load capacitance Cload are chosen based on a standard protocol specification, which is typically derived from respective external constraints. The complementary data (Data-P and Data-N) drive switches M1 and M2 respectively to generate a differential voltage signal on nodes D+ and D−. Here, the differential voltage turns out to be Isource *Rterm, which is supposed to be a specification to be met. The load capacitance Cload helps to meet the slew-rate and rise-time specification of the differential signal, and subsequently in the eye-opening of the respective high-speed transmitter.
When a differential-1 signal is driven (e.g. when V(D+)>V(D−)), the following are the output waveform equations of the single-ended signals according to the circuit 100.
The single-ended rise behavior is as follows:Vdp(t)=Isource*Rterm(1−e−t/(Rterm*Cload))   (1A)
And the single-ended fall behavior is as follows:Vdn (t)=Vmax(e−t/(Rterm*Cload))   (1B)
However, the load capacitance Cload may become more than expected due to the sharing of the same data line with other drivers, or external factors such as trace, etc., thus subsequently affecting the eye diagram of the respective high-speed transmitter. FIG. 1(b) shows waveforms illustrating performance of the circuit of FIG. 1(a). Here, lines 112a, 112b, and 122 show relevant signals under a specified load condition while lines 114a, 114b, and 124 show relevant signals under additional load conditions. For example, lines 112a, 112b include single-ended waveforms of the differential driver signals based on Data-P and Data-N (FIG. 1(a)) respectively, while line 122 includes the resulting differential waveform. With an additional load (not shown) to the specified load, the performance of the circuit is changed. Lines 114a and 114b include the corresponding single-ended waveforms of the differential driver signals, and line 124 includes the corresponding differential waveform. In the example shown in FIG. 1(b), the eye margin at the specified load is about 65 millivolts (mV), which is reduced significantly to about 16 mV with the additional load.